#include <iostream>
#include <string>

using namespace std;

// 定义一个学生类
class stu
{
private:
    string name;  // 姓名
    int id;       // 学号

public:
    // 默认构造函数
    stu(){}

    // 带参构造函数，通过括号法初始化成员变量
    stu(string m_name, int m_id)
    {
        name = m_name;  // 将传入的姓名赋值给成员变量 name
        id = m_id;      // 将传入的学号赋值给成员变量 id
    }

public:
    // 成员函数，用于显示学生信息
    void show()
    {
        cout << "姓名: " << name << endl;  // 输出学生姓名
        cout << "学号: " << id << endl;    // 输出学生学号
    }
};


int main(int argc, char const *argv[])
{
    // 创建对象 s1，通过括号法调用带参构造函数
    stu s1("唐三", 10);
    s1.show();  // 调用 show 函数显示 s1 的信息

    // 创建对象 s2，通过拷贝构造函数初始化 s2
    stu s2(s1);  // s2 是通过 s1 拷贝构造而来
    s2.show();   // 调用 show 函数显示 s2 的信息

    // 创建匿名对象 s3，通过括号法调用带参构造函数
    stu s3 = stu("萧薰儿", 11);  // 匿名对象
    s3.show();   // 调用 show 函数显示 s3 的信息

    return 0;
}
